home *** CD-ROM | disk | FTP | other *** search
/ GFX Sensations 1 / Graphic Sensations - Volume 1.iso / tools / amiga / 3d_tools / irit40s.lha / Irit / update.new < prev   
Encoding:
Text File  |  1993-12-30  |  7.1 KB  |  164 lines

  1.  
  2. Version 4.0
  3. -----------
  4.  
  5. * Data files can be compressed under unix and will be uncompressed
  6.   automatically by invoking zcat. 'poly3d-h test.dat.Z > test.hdn' is valid.
  7.  
  8. * New -H flag to poly3d-h to allow dumping the HIDDEN data (with different
  9.   color/attributes...), -q to run quietly, -o for output file.
  10.  
  11. * If clause was made much more reasonable by defining comparison and
  12.   Logical operators (<, >=, &&, ||, etc.).
  13.  
  14. * Function definition is available (ALIAS is retired). See function/procedure
  15.   in docs and function.irt. See plotter.irt for a nontrivial example.
  16.  
  17. * Assignments need not be within parenthesis any more. Preceeding is
  18.   properly set now.
  19.  
  20. * New variables are allowed in loops now.
  21.  
  22. * MSDOS is not really supported (I left DJGCC ifdefs intact although it is
  23.   not tested any more.). EDIT command retired, SYSTEM command modified.
  24.   The main reason is that IRIT can no longer be built in the BC Large model
  25.   and the Huge model will consume pretty much the entire 640k...
  26.   If you have the ability (I do not) to build MSDOS applications with dos
  27.   extenders, and willing to dive in, please let me know.
  28.  
  29. * The good news is that both OS2 2.x and Window NT 3.1 are fully supported.
  30.  
  31. * A whole new scheme of display drivers was developed. The display driver is
  32.   a different process. As a result NORMAL, VIEW & INTERACT, BEEP, CLOSED
  33.   functions are retired, and VIEWOBJ controls the display via VIEWxxxx user
  34.   defined functions (in iritinit.irt).
  35.     BEEP, VIEW and INTERACT functions are emulated in iritinit using a
  36.   user defined function. NORMALs as well as other view states can be set via
  37.   user defined function VIEWSTATE.
  38.     poly3d was retired and is replaced by the display drivers which 
  39.   accepts command lines. In other words, the graphics device driver serves as
  40.   display program as well.
  41.  
  42. * Sweep has a new fourth parameter to allow setting normal of orientation
  43.   (pseudo frenet) frame.
  44.  
  45. * New line illustration tool - illustrt.
  46.  
  47. * List can now be in any length and are updated dynamically.
  48.  
  49. * Attributes now can handle spaces by quoting the data:
  50.   attrib( obj, "rgbcolor", "255 0 255" );
  51.   see attrib command for more.
  52.  
  53. * New filter irit2xfg - IRIT to xfig.
  54. * New filter irit2plg - IRIT to REND386 polygonal format
  55. * New filter irit2scn - IRIT to scn (close to nff format).
  56. * New filter irit2dxf - filters to/from DXF. Not fully functional.
  57. * New filter dxf2irit
  58. * New filter irit2ps  - more versatile filter to PostScript.
  59. * New IRIT commands
  60.   + THISOBJ - returns the type of the object.
  61.   + PRINTF - a formatted printing routine, C printf style.
  62.   + BOOLONE - using a single closed curve subdivided into four segments
  63.                             as bool sum input.
  64.   + BSP2BZR - convertion from Bspline to Bezier curves/surfaces.
  65.   + BZR2BSP - convertion from Bezier to Bspline curves/surfaces.
  66.   + FFCOMPAT - making two curves/surfaces compatible (required for
  67.                             SMORPH morphing code)
  68.   + HOMOMAT - low level homogeneous matrix constructor.
  69.   + SDERIVE/CDERIVE - compute derivatives.
  70.   + SMERGE - merge two surfaces into one.
  71.   + SMORPH - A convex blend between two compatible surfaces (3d morphing).
  72.   + SNRMLSRF - surface normal.
  73.   + SYMBPROD/SYMBDPROD/SYMBCPROD/SYMBSUM/SYMBDIFF - a whole set of
  74.     symbolic computation tools.
  75.   + CZEROS - find the zero set of a curve.
  76.   + CEXTREMES - find the extreme set of a curve.
  77.   + NIL - returns an empty list.
  78.   + LISTSIZE - returns the size of a list/poly list/vertex list.
  79.   + COORD - extract a single coordinate from an object.
  80.   + AOFFSET - adaptive, error bounded, offset (slow!).
  81.   + COERCE - coerction of objects.
  82.   + COMPOSE - curve curve and surface curve composition.
  83.   + PRISA - planar layout of surfaces.
  84.   + CINFLECT - find the inflection points of a curve.
  85.   + CCRVTR - curvature properties of curves.
  86.   + CCINTER - curve curve intersection function.
  87.   + POLY can accept point and ctlpt types. Has a new second polyline/gon
  88.     parameter.
  89.   + ADAPISO - adaptive isocurve extraction.
  90.   + CRVPTDST - nearest point on a curve to a point solution (min dist param).
  91.   + CRVLNDST - nearest point on a curve to a line solution (min dist param).
  92.   + PDOMAIN - returns the parametric domain of a curve or a surface.
  93.  
  94. * Ability to dump UV values of vertices of polygons created from freeform
  95.   surfaces (mainly for 2D texture mapping). See CagdSrf2Polygons and skeleton
  96.   example in iritfltr directory.
  97.  
  98. * ATTRIButes can be set to any object, not just geometry. attributes names
  99.   are case insensetive. 
  100.  
  101. * POINTs and PLANEs are now supported objects as well. VECTORs, POINTs,
  102.   CTLPTs are also displayable objects.
  103.  
  104. * color() and attrib() now can work on lists, in which all elements
  105.   in list will be appropriately updated.
  106.  
  107. * More overloaded operators:
  108.   String + String -> String
  109.   String ^ Real -> String
  110.   String + Real -> String
  111.   Point  + Vector -> Vector
  112.   Point  * Real -> Point (Scale)
  113.   Point  * Mat -> Point (Transform)
  114.   -Point -> Point (scale by -1)
  115.   -Plane -> Plane (scale by -1)
  116.  
  117. * New irit configuration variable - FloatFrmt.
  118.  
  119. * New prsp_mat variable.
  120.  
  121. * Coplanar polygons are now handled. See coplanar variable and solid2.irt
  122.   for example.
  123.  
  124. * Boolean opeartions are almost three times faster using bbox and sorting
  125.   optimizations! See polysort variable.
  126.  
  127. * All utilities now support '-' for stdin read. For example
  128.   poly3d-h example.dat | irit2ps - > example.ps
  129.  
  130. * Spline degree raising is implemented using the new symbolic tools.
  131.  
  132.  
  133. Here is what is new in version 3.0:
  134. -----------------------------------
  135. 1. Normals are fully supported now. Although this increases memory requirements
  136.    (mainly a problem on IBM PC) all files dumped from IRIT now support normals
  137.    as well.
  138. 2. A new cut Boolean operation (overloading '/', i.e. C = A / B assigns to C
  139.    the regions in A out B).
  140.    A new merge Boolean operation (overloading '^', i.e. C = A ^ B assigns to
  141.    C all polygons of A and B merged (with no intersection tests.).
  142. 3. Support for freeform curves and surfaces (Bezier/NURBS).
  143.    All Boolean are still done using polygonal data the surfaces are converted
  144.    into (No intention to change that in the near future - direct Booleans on
  145.    surfaces requires support of trimmed surfaces and believe me - it is HARD).
  146.    However, quite a few tools to manipulate and maintain the curves and surfaces
  147.    are provided and include:
  148.    a. direct creation of curves and surfaces by specifying control mesh/poly.
  149.    b. evaluation of surface/curve, tangents, normals.
  150.    c. subdivision/refinement.
  151.    d. degree raising (only Bezier).
  152.    e. high level surface creation: ruled srf/extrude/srf of revolution/sweep.
  153.    f. curve constructor out of curve/point pieces.
  154.    g. conversion to polygons of surfaces including normals.
  155. 4. Support for SGI 4D systems using gl has been added.
  156. 5. lists are much more enhanced now and more functions can now get a list
  157.    of objects where before they could get a single object only (for example
  158.    ability to dump to file/read from file list of objects instead of one).
  159.    This enable merging the *.ply and *.mat into single data files *.dat which
  160.    also include the freeform data (curves and surfaces).
  161. 6. Ability to handle closed and open loops within the same polygon (see
  162.    cubes.irt).
  163. 7. Much improved documentation.
  164.